package com.xcl.service;

import com.xcl.pojo.Loading;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ClassName ShuntServiceInter
 * @Description 分流管理服务层
 * @Author: xiaochaolei
 * @date 2021/7/2 10:26
 * @Version 1. 0
 */
public interface ShuntServiceInter {



    /**
     * 得到未分配的运单和货物信息
     * @return 运单和货物信息集合
     */
    public List<Loading> getLoadingBYStateOne();
    /**
     * 分页查询未分配的运单和货物信息
     * @param page 页码数
     * @param limit 条码数
     * @return 运单和货物信息集合
     */
    public List<Loading> getLoadingBYStateOneLimit(int page,int limit);

    /**
     * 得到运输中的运单和货运信息
     * @return  运单和货物信息集合
     */
    public List<Loading> getLoadingBYStateTwo();


    /**
     * 分页查询未分配的运单和货物信息
     * @param page 页码数
     * @param limit 条码数
     * @return 运单和货物信息集合
     */
    public List<Loading> getLoadingBYStateTwoLimit(int page,int limit);


    /**
     * 得到装配中的运单和货物信息
     * @return 运单和货物信息集合
     */
    public List<Loading> getLoadingBYStateThree();



    /**
     * 分页查询未分配的运单和货物信息
     * @param page 页码数
     * @param limit 条码数
     * @return 运单和货物信息集合
     */
    public List<Loading> getLoadingBYStateThreeLimit(int page,int limit);



    /**
     * 多条件查询得到装车配载集合
     * @param waybill_id 运单号
     * @param substationUnit 到达分站
     * @param modeTransport 运输方式
     * @param startDate 起始日期
     * @param endingDate 结束日期
     * @return  装车配载集合
     */
    public List<Loading> getLoadingByWhere(String waybill_id
            ,String substationUnit
            ,String modeTransport
            ,String startDate
            ,String endingDate
            ,int page
            ,int limit);

    /**
     * 多条件查询得到装车配载运输中集合
     * @param waybill_id 运单号
     * @param modeTransport 运输方式
     * @param page 页码数
     * @param limit 条目数
     * @return 装车配载运输中集合
     */
    public List<Loading> getLoadingByWhereTwo(String waybill_id,String modeTransport,int page,int limit);


    /**
     * 多条修改
     * @param strings 数据集合
     * @return 影响行数
     */
    public int upteModificationOne(String[] strings);


    /**
     * 修改为配载中
     * @param strings 数组
     * @return 影响行数
     */
    public int upteModificationTwo(String[] strings);




    /**
     * 修改为配载中
     * @param strings 数组
     * @return 影响行数
     */
    public int upteModificationThree(@Param("str")String[] strings);

}
